package com.zw.cloud.mybatis.plus.service.api.stenter;

import com.zw.cloud.mybatis.plus.entity.stenter.OptimizeCraftPageDTO;
import com.zw.cloud.mybatis.plus.entity.stenter.ProductRecordDetail;
import com.baomidou.mybatisplus.extension.service.IService;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 生产记录关联表 服务类
 * </p>
 *
 * @author zw
 * @since 2023-10-31
 */
public interface IProductRecordDetailService extends IService<ProductRecordDetail> {

    boolean insertOrUpdateBatch(List<ProductRecordDetail> detailList);

    boolean onDuplicateKeyUpdate(List<ProductRecordDetail> detailList);

    boolean batchUpdateBaseTenterCraftId(List<Long> idList,Long baseTenterCraftId);

    /**
     * 查询时间范围内 需要计算可优化工艺的数据
     */
    List<Long> queryBaseTenterCraftId(LocalDateTime startTime, LocalDateTime endTime);

    /**
     * 查询product_info_id
     */
    List<Long> queryProductInfoIdByBaseTenterCraftId(Long baseTenterCraftId,LocalDateTime startTime, LocalDateTime endTime);

    /**
     * 查询可优化工艺 相关参数
     */
    List<OptimizeCraftPageDTO> queryOptimizeCraftData(List<Long> productInfoIdList);

    /**
     * 根据生产记录ID查询可优化工艺相关参数
     * 根据ID顺序排序
     */
    List<OptimizeCraftPageDTO> queryOptimizeCraftDataByProductRecordId(List<Long> productRecordIdList);
}
